package org.gd.jetty;

import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.DefaultHandler;
import org.eclipse.jetty.websocket.WebSocket;

/**
 * Hello world!
 *
 */
public class App {

    public static void main( String[] args ) {
        // Создание сервера Jetty на 8081 порту
        final Server server = new Server(8081);

        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    // Регистрируем ChatWebSocketHandler в сервере Jetty
                    ChatWebSocketHandler chatWebSocketHandler = new ChatWebSocketHandler();
                    // Это вариант хэндлера для WebSocketHandlerContainer
                    chatWebSocketHandler.setHandler(new DefaultHandler());
                    // Вставляем наш хэндлер слушаться jetty
                    server.setHandler(chatWebSocketHandler);
                    // Запускаем Jetty
                    server.start();

                    Thread.sleep(10000);
                    for(ChatWebSocketHandler.ChatWebSocket socket: chatWebSocketHandler.getWebSockets()) {
                        socket.sendMessage("message from server");
                    }
                } catch (Throwable e) {
                    e.printStackTrace();
                }
            }
        }).start();
        try {
            Thread.sleep(600000);
            server.stop();
        } catch (Throwable e) {
            e.printStackTrace();
        }
        System.exit(0);
    }
}

/*

var socket = new WebSocket("ws://localhost:8081/");
socket.onopen = function () {
  console.log("Соединение открылось");
};
socket.onclose = function () {
  console.log ("Соединение закрылось");
};
socket.onmessage = function (event) {
  console.log ("Пришло сообщение с содержанием:", event.data);
};



*/
